import request from '@/http/request'
import $infoBox from '@/utils/infoBox'

/*
 *  全系列restful api格式, 定义通用req对象
 *
 *  @author will
 *  @site https://pt.jdyd.xyz
 *  @date 2021/5/8 07:18
 */
export const req = {
  
  
    // 下载模板
    downloadTemplate:(url,data)=>{
      return request.request({url:url,method:'post',data:data},true,true,true)
    },

  // 新增活动渠道接口
  addMerchant:(url,data)=>{
    return request.request({url:url,method:'post',data:data},true,true,true)
  },

  // 通用列表查询接口
  list: (url, params) => {
    return request.request({ url: url, method: 'GET', params: params }, true, true, false)
  },
  // 通用新增接口
  add: (url, data) => {
    return request.request({ url: url, method: 'POST', data: data }, true, true, false)
  },

  // 通用查询单条数据接口
  getById: (url, bizId, params = {} ) => {
    return request.request({ url: url + '/' + bizId, method: 'GET', params: params }, true, true, false)
  },

  // 通用修改接口
  updateById: (url, bizId, data) => {
    return request.request({ url: url + '/' + bizId, method: 'PUT', data: data }, true, true, false)
  },

  updateByIdParams: (url, bizId, params) => {
    return request.request({ url: url + '/' + bizId, method: 'PUT', params }, true, true, false)
  },

  // 通用删除接口
  delById: (url, bizId) => {
    return request.request({ url: url + '/' + bizId, method: 'DELETE' }, true, true, false)
  },

  // 删除接口
  delByIdData: (url, bizId) => {
    return request.request({ url: url , method: 'DELETE', data: bizId }, true, true, false)
  },

  // 通用 新增 or 更新
  addOrUpdate: (bizId, url, data, showMessage = true) => {

    //包含bizId 请求的是修改接口
    if(bizId){
      return req.updateById(url, bizId, data).then(res => {
        if(showMessage)success('更新成功')
        return Promise.resolve(res)
      })

    }else{

      return req.add(url, data).then(res => {
        if(showMessage) $infoBox.message.success('新增成功')
        return Promise.resolve(res)
      })

    }
   
  }

}

// 全系列restful api格式 (全局loading方式)
export const reqLoad = {

  // 通用列表查询接口
  list: (url, params) => {
    return request.request({ url: url, method: 'GET', params: params }, true, true, true)
  },

  // 通用新增接口
  add: (url, data) => {
    return request.request({ url: url, method: 'POST', data: data }, true, true, true)
  },

  // 通用查询单条数据接口
  getById: (url, bizId, params = {} ) => {
    return request.request({ url: url + '/' + bizId, method: 'GET', params: params }, true, true, true)
  },

  // 通用修改接口
  updateById: (url, bizId, data) => {
    return request.request({ url: url + '/' + bizId, method: 'PUT', data: data }, true, true, true)
  },

  // 通用删除接口
  delById: (url, bizId) => {
    return request.request({ url: url + '/' + bizId, method: 'DELETE' }, true, true, true)
  }
}

/** 角色管理页面 **/
export const API_URL_ENT_LIST = '/api/sysEnts'
export const API_URL_ROLE_LIST = '/api/sysRoles'
export const API_URL_ROLE_ENT_RELA_LIST = '/api/sysRoleEntRelas'
export const API_URL_SYS_USER_LIST = '/api/sysUsers'
export const API_URL_SYS_USER_TEAM_LIST = '/api/userTeams'
export const API_URL_SYS_USER_TEAM_USER_LIST = 'api/userTeams/userList'
export const API_URL_USER_ROLE_RELA_LIST = '/api/sysUserRoleRelas'
export const API_URL_SYS_SMS_SEND_MSG = '/api/sms/smsCode' // 验证操作员手机号 发送手机验证码

export const API_URL_MCH_LIST = '/api/mchInfo'
// 商户管理
// 商户渠道码管理
// 列表数据
export const API_URL_LMCH_CHANNEL = '/api/lmch/channel'
// 新增/api/lmch/channel/add
export const API_URL_LMCH_CHANNEL_ADD = '/api/lmch/channel/add'
// 详情/api/lmch/channel/detail
export const API_URL_LMCH_CHANNEL_DETAIL = '/api/lmch/channel/detail'
// 删除/api/lmch/channel/delete
export const API_URL_LMCH_CHANNEL_DELETE = '/api/lmch/channel/delete'
// 是否开启距离
export const API_URL_ACTIVITY_CHANNEL_DISTANCE_LIMIT = '/api/activity/channel/distance/limit'
// 商户图片修改
export const API_URL_MCH_IMAGE_UPDATE = '/api/mchInfo/updateImage'
// 精选商户置顶
export const API_URL_MCH_TOP = '/api/mchInfo/topMch'

// 运营工具
// 商户数据对比
export const API_MCHINFO_COMPARE = '/api/mchInfo/compare'
// 重置商户号
export const API_FANS_RESETMCHNO = '/api/fans/resetMchNo'
// 导出派券活动领奖报表
export const API_ACTIVITY_GETCOUPONDETAIL = '/api/activity/getCouponDetail' // 弃用 2024-12-17


/** 机构列表 **/
export const API_URL_PROXY_LIST = '/api/proxys'
// 机构员工列表
// export const API_URL_PROXY_EMPLOYEE_LIST = '/api/agent/employee/list'
// 导入机构员工
// export const API_URL_PROXY_EMPLOYEE_IMPORT = '/api/agent/employee/addBatch'


// 新增单个派发人员
export const API_AWARD_COUPON_ADDALLOCATIONUSER = '/api/award/coupon/addAllocationUser'

// 上传可派发名单
export const API_AWARD_COUPON_ADDALLOCATIONUSERFILE = '/api/award/coupon/addAllocationUserFile'

// 删除可派发名单
export const API_AWARD_COUPON_DELETEALLOCATIONUSERFILE = '/api/award/coupon/deleteAllocationUserFile'

// 获取可派发名单
export const API_AWARD_COUPON_GETALLOCATIONUSERLIST = '/api/award/coupon/getAllocationUserList'
// 配置可派发人员

export const API_AWARD_COUPON_UPDATECOUPON = '/api/award/coupon/updateCoupon'

/** 商户通知管理 **/
export const API_URL_MCH_NOTIFY_LIST = '/api/mchNotify'
/** 系统日志 **/
export const API_URL_SYS_LOG = '/api/sysLog'
/** 系统配置 **/
export const API_URL_SYS_CONFIG = '/api/sysConfigs'
/** 首页统计 **/
export const API_URL_MAIN_STATISTIC = '/api/mainChart'


export const API_URL_UPLOAD_SINGLE_FILE_URL = process.env.VITE_API_BASE_URL + '/api/ossFiles/singleFile'

/** 统计接口 **/
export const API_URL_STATISTIC = '/api/statistic'
/** 公告*/
export const API_URL_NOTICELIST = '/api/sysArticles'
// 运营工具(福分)
export const API_ACTIVITY_CARDCONSUMPTIONPOINTS = '/api/activity/cardConsumptionPoints'
// 运营工具(手机号)
export const API_ACTIVITY_OTHERPOINTS = '/api/activity/otherPoints'


/** 上传图片/文件地址 **/
export const upload = {
  avatar: request.baseUrl + '/api/ossFiles/avatar',
  ifBG: request.baseUrl + '/api/ossFiles/ifBG',
  wxFile: request.baseUrl + '/api/ossFiles/wxFile',
}
/** 导出文件地址 **/
export const exportExcelUrl = {
  statistic: '/api/statistic/export',
  mch: '/api/mchInfo/exportExcel',
  license: '/api/exportExcel/exportWord', // 设置函
  canUsedMch: '/api/exportExcel/exportWechat',  // 设置函可核销商户
}

const api = {
  user: '/user',
  role_list: '/role',
  service: '/service',
  permission: '/permission',
  permissionNoPager: '/permission/no-pager',
  orgTree: '/org/tree'
}

export default api

/** 获取权限树状结构图**/
export function $getEntTree (sysType) {
  return request.request({ url: '/api/sysEnts/showTree?sysType=' + sysType, method: 'GET' })
}

/** 更新用户角色信息 */
export function $uSysUserRoleRela (sysUserId, roleIdList) {
  return request.request({
    url: 'api/sysUserRoleRelas/relas/' + sysUserId,
    method: 'POST',
    data: { roleIdListStr: JSON.stringify(roleIdList) }
  })
}

export function $getRoleList (parameter) {
  return request({
    url: '/api/sysRoles',
    method: 'get',
    params: parameter
  })
}

export function $getServiceList (parameter) {
  return request({
    url: api.service,
    method: 'get',
    params: parameter
  })
}

export function $getPermissions (parameter) {
  return request({
    url: api.permissionNoPager,
    method: 'get',
    params: parameter
  })
}

export function $getTeamUserList (recordId, parameter) {
  return request.request({
    url: API_URL_SYS_USER_TEAM_USER_LIST + '/' + recordId,
    method: 'GET',
    params: parameter
  })
}

export function $getOrgTree (parameter) {
  return request({
    url: api.orgTree,
    method: 'get',
    params: parameter
  })
}

// id == 0 add     post
// id != 0 update  put
export function $saveService (parameter) {
  return request({
    url: api.service,
    method: parameter.id === 0 ? 'post' : 'put',
    data: parameter
  })
}

export function $saveSub (sub) {
  return request({
    url: '/sub',
    method: sub.id === 0 ? 'post' : 'put',
    data: sub
  })
}

export function $getPayTrendCount (date) {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/payTrendCount',
    method: 'GET',
    params: {recentDay: date }
  })
}

export function $getNumCount (data) {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/payDayCount',
    method: 'GET',
    params: data
  })
}

export function $getIsvAndMchCount () {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/isvAndMchCount',
    method: 'GET'
  })
}

export function $getPayCount (parameter) {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/payCount',
    method: 'GET',
    params: {queryDateRange: parameter }
  })
}

export function $getPayType (parameter) {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/payTypeCount',
    method: 'GET',
    params: {queryDateRange: parameter }
  })
}

export function $getMainUserInfo (parameter) {
  return request.request({
    url: API_URL_MAIN_STATISTIC + '/' + parameter,
    method: 'GET'
  })
}

export function $updateUserPass (parameter) {
  return request.request({
    url: '/api/current/modifyPwd',
    method: 'put',
    data: parameter
  })
}

export function $updateUserInfo (parameter) {
  return request.request({
    url: '/api/current/user',
    method: 'put',
    data: parameter
  })
}

export function $getUserInfo () {
  return request.request({
    url: '/api/current/user',
    method: 'get'
  })
}

/** MFA认证信息 **/
export function $getMFAInfo () {
  return request.request({
    url: '/api/current/mfaInfo',
    method: 'get'
  })
}

/** MFA认证绑定 **/
export function $mfaBind (parameter) {
  return request.request({
    url: '/api/current/mfaBind',
    method: 'put',
    data: parameter
  })
}

/** MFA认证解绑 **/
export function $mfaRelieve (parameter) {
  return request.request({
    url: '/api/current/mfaRelieve',
    method: 'put',
    data: parameter
  })
}

/** 导出功能 **/
export function $exportExcel (url, params, method = 'GET') {
  return request.exportExcel(url, params, method)
}

export function $getConfigs (parameter) {
  return request.request({
    url: API_URL_SYS_CONFIG + '/' + parameter,
    method: 'GET'
  })
}

export function $getEntBySysType (entId, sysType) {
  return request.request({
    url: '/api/sysEnts/bySysType',
    method: 'GET',
    params: { entId: entId, sysType: sysType }
  })
}

export function $mchNotifyResend (notifyId) {
  return request.request({
    url: '/api/mchNotify/resend/' + notifyId,
    method: 'POST'
  })
}

/** 获取到webSocket的前缀 （ws://localhost）**/
export function getWebSocketPrefix() {
  // 获取网站域名 +  端口
  let domain = document.location.protocol + '//' + document.location.host

  // 判断api_base_url 是否设置
  if (process.env.VUE_APP_API_BASE_URL && process.env.VUE_APP_API_BASE_URL !== '/') {
    domain = process.env.VUE_APP_API_BASE_URL
  }

  if (domain.startsWith('https:')) {
    return 'wss://' + domain.replace('https://', '')
  } else {
    return 'ws://' + domain.replace('http://', '')
  }
}


/* 获取请求参数 */
export function $getUploadFormParams (file, bizType) {  
  return request.request({
    url: '/api/ossFiles/form',
    method: 'post',
    data: { bizType : bizType, sourceFileName: file.name, sourceFileSize: file.size }
  })
}

export function $getPasswordRules () {
  return request.request({
    url: '/api/anon/cipher/pwdRulesRegexp',
    method: 'get'
  })
}


/** 查询网站配置信息 */
export function $getSiteInfos () {
  return request.request({
    url: '/api/anon/siteInfos',
    method: 'GET',
    params: { queryConfig: 1 }
  })
}
/** 查询地图配置 */
export function $getMapConfig () {
  return request.request({
    url: '/api/map/mapConfig',
    method: 'get'
  })
}

/** 查询平台账户 */
export function $getPlatformProfit() {
  return request.request({
    url: '/api/account/platformProfit',
    method: 'GET'
  })
}
/** 拓展员商户统计数据*/
export function $userChart(sysUserId, queryDateRange) {
  return request.request({
    url: '/api/mainChart/userChart',
    method: 'GET',
    params: { sysUserId, queryDateRange },
  })
}


/** 解除登录限制 **/
export function $deleteLoginLimit (recordId) {
  return request.request({
    url: '/api/sysUsers/loginLimit/' + recordId,
    method: 'delete'
  })
}


// 营销活动列表接口
export const API_URL_MARKETING_LIST = '/api/matketing'


/* 营销活动审批 */
export function $approveActivity(data:object) {
  return request.request({
    url: 'api/matketing/examine',
    method: 'post',
    data: data
  })
}


// 营销活动 新增
export const API_URL_MARKETING_ADD = '/api/matketing/add'

/** 营销活动详情 */
export function $getMarketingDetails(couponId) {
  return request.request({
    url: 'api/matketing/couponDetail',
    method: 'get',
    params: {couponId}
  })
}

// 营销活动 修改
export const API_URL_MARKETING_UPDATE = '/api/matketing/update'


/** 市列表 */
export function $proxysList(agentNo) {
  return request.request({
    url: '/api/proxys/list',
    method: 'get',
    params: {agentNo}
  })
}


// 机构列表接口
export const API_URL_MARKETING_PROXY_LIST = '/api/agentList/queryproxylist'

// 商圈类型设置
export const API_URL_BUSINESSCIRCLE_TYPESETTINGS = '/api/businessCircle/typeSetting'

/**
 * 营销相关
 */

/* 实物奖品 */
// 查询实物奖品列表
export const API_URL_AWARD_GOODS = '/api/award/goods'
// 获取未分配活动的实物奖品列表
export const API_URL_AWARD_GOODS_USABLE = '/api/award/goods/usable'
// 查询实物奖品详情
export const API_URL_AWARD_GOODS_DETAILS = '/api/award/goods/details'
// 更改实物奖品状态
export const API_URL_AWARD_GOODS_STATE = '/api/award/goods/state'
// 新增OR修改实物奖品


/* 卡券奖品 */
// 查询卡券奖品列表（get）
export const API_URL_AWARD_COUPON = '/api/award/coupon'
// 获取未分配活动的卡券奖品列表
export const API_URL_AWARD_COUPON_USABLE = '/api/award/coupon/usable'
// 查询卡券奖品详情
export const API_URL_AWARD_COUPON_DETAILS = '/api/award/coupon/details'
// 更改卡券奖品状态
export const API_URL_AWARD_COUPON_STATE = '/api/award/coupon/state'
// 更改卡卷奖品为草稿状态
export const API_URL_AWARD_COUPON_UPDATETODRAFT = '/api/award/coupon/updateToDraft'
// 新增满减随机减卡券
export const API_URL_AWARD_COUPON_FULL_RANDOM_SAVE = '/api/award/coupon/saveCoupon'
// 修改满减随机减卡券
export const API_URL_AWARD_COUPON_FULL_RANDOM_EDIT = '/api/award/coupon/editCoupon'

// 新增卡券奖品（post）和修改卡券奖品详情信息（put）
export function $couponAddOrEdit(method,data) {
  return request.request({
    url: '/api/award/coupon',
    method,
    data,
  })
}
// 删除卡券奖品
export function $couponDelete(couponId) {
  return request.request({
    url: '/api/award/coupon',
    method: 'DELETE',
    params: { couponId }
  })
}
// 获取出资方列表
export const API_URL_AWARD_COUPON_ISV = '/api/ifCode'
// 导入核销卡券商户
export const API_AWARD_COUPON_IMPORTMCH = '/api/award/coupon/importMchDestroy'
// 获取可核销商户列表
export const API_AWARD_COUPON_GETMCHDESTROYLIST = '/api/award/coupon/getMchDestroyList'
// 导入可核销商户
export const API_AWARD_COUPON_IMPORTMCHDESTROYFILE = '/api/award/coupon/importMchDestroyFile'
// 删除导入可核销商户
export const API_AWARD_COUPON_DELETEMCHDESTROY = '/api/award/coupon/deleteMchDestroy'
// 删除卡券所有可核销商户
export const API_AWARD_COUPON_MCH = '/api/award/coupon/mch'
// 导入名单
export const API_ACTIVITY_ASSIGNIMPORT = '/api/activity/assignImport'
// 定向派分 导入名单
export const API_ACTIVITY_DISPOSABLEIMPORT = '/api/activity/disposableImport'

/* 虚拟券奖品 */
// 虚拟券奖品列表（get）  新增虚拟券（post）  修改put
export const API_URL_AWARD_VIRTUAL = '/api/virtual/award'
// 获取未分配活动的虚拟券奖品列表
export const API_URL_AWARD_VIRTUAL_USABLE = '/api/award/virtual/usable'
// 虚拟券奖品详情
export const API_URL_AWARD_VIRTUAL_DETAILS = '/api/award/virtual/getDetail'

// 更改虚拟券状态
export const API_URL_AWARD_VIRTUAL_STATE = '/api/virtual/award/state'
// 新增OR修改虚拟券
export function $virtualAdd(method:any,data:any) {
  return request.request({
    url: '/api/virtual/award/add',
    method,
    data,
  })
}
export function $virtualEdit(method:any,data:any) {
  return request.request({
    url: '/api/virtual/award/update',
    method,
    data,
  })
}
// 删除虚拟券奖品
export function $virtualDelete(virtualAwardId) {
  return request.request({
    url: '/api/virtual/award/delete',
    method: 'DELETE',
    params: { virtualAwardId }
  })
}

/* 福分奖品 */
// 查询福分奖品列表（GET）
export const API_URL_AWARD_SCORE = '/api/award/score'
// 获取未分配活动的福分奖品列表
export const API_URL_AWARD_SCORE_USABLE = '/api/award/score/usable'
// 福分奖品详情
export const API_URL_AWARD_SCORE_DETAILS = '/api/award/score/details'
// 福分新增OR修改  新增（POST）  修改（PUT）
export function $scoreAddOrEdit(method,data) {
  return request.request({
    url: '/api/award/score',
    method,
    data,
  })
}
// 更改福分奖品状态
export const API_URL_AWARD_SCORE_STATE = '/api/award/score/state'
// 删除福分奖品 （DELETE）
export function $scoreDelete(scoreId) {
  return request.request({
    url: '/api/award/score',
    method: 'DELETE',
    data: { scoreId },
  })
}
/* 出资方管理 */
// 出资方列表
export const API_URL_IFCODE = '/api/ifCode'
// 新增修改出资方
export function $ifCodeAddOrEdit(method,data) {
  return request.request({
    url: '/api/ifCode',
    method,
    data,
  })
}

/* 活动管理 */
/* 活动类型 */
// 查询活动类型列表 新增活动类型（post）  修改（put）
export const API_URL_ACTIVITY_TYPE = '/api/activity/type'
// 删除活动类型
export function $activityTypeDelete(activityTypeId) {
  return request.request({
    url: '/api/activity/type',
    method: 'DELETE',
    data: { activityTypeId }
  })
}
// 活动模板列表 新增（POST）修改（PUT） 删除（DELETE）
export const API_URL_ACTIVITY_TEMPLATE = '/api/activity/template'

/* 活动列表 */
// 查询列表（get）  新增（POST）
export const API_URL_ACTIVITY = '/api/activity'
export const API_URL_ACTIVITY_ADD = '/api/activity/add'
// 活动详情
export const API_URL_ACTIVITY_DETAILS = '/api/activity/details'
// 渠道列表
export const API_URL_ACTIVITY_CHANNEL_GETCHANNELLIST = '/api/activity/channel/getChannelList'
// 新增渠道
export const API_URL_ACTIVITY_CHANNEL_ADD = '/api/activity/channel/add'
// 新增单个渠道码
export const API_URL_ACTIVITY_CHANNEL_ADDONE = '/api/activity/channel/addOne'
// 活动生成渠道码选择的客户经理
export const API_URL_ACTIVITY_CHANNEL_GETMCHLIST = '/api/agent/employee/getListByAgentNo'
// 卡券奖品添加单个商户导入
export const API_AWARD_COUPON_ADDAWARDMCH = '/api/award/coupon/addAwardMch'

// 导出活动渠道码
export const API_URL_ACTIVITY_CHANNEL_EXPORT = '/api/activity/channel/export'
// 删除渠道
export const API_URL_ACTIVITY_CHANNEL_DELETE = '/api/activity/channel/channelDelete'

// 新增活动OR修改活动
import activityJsonHandle from '@/utils/activityJsonHandle' // activityJson活动动态参数处理
export function $activityAddOrEdit(method,data) {
  return request.request({
    url: (method === 'POST') ? '/api/activity/add' : '/api/activity',
    method,
    data: { ...data, activityJson: activityJsonHandle(data) },
  })
}
// 删除活动
export function $activityDelete(activityId, activityTemplateNo) {
  return request.request({
    url: '/api/activity',
    method: 'DELETE',
    data: { activityId, activityTemplateNo }
  })
}
// 活动上下线
export function $activityState(data) {
  return request.request({
    url: '/api/activity/state',
    method: 'PUT',
    data
  })
}
// 创建活动时上传素材
export function $uploadPicToGzh(data){
  return request.request({
    url: '/api/activity/uploadPicToGzh',
    method: 'POST',
    data
  })
}
// 派券活动 生成二维码
export const API_URL_ACTIVITY_QRCODE = '/api/qrcodeRecord/saveRecord'
// 导出记录
export const API_URL_ACTIVITY_QRCODE_EXPORT = '/api/qrcodeRecord/getQrcodeRecordAllByActivityId'

/* 商圈管理 */
// 商圈管理列表（GET）
export const API_URL_MARKETINGGROUP = '/api/marketingGroup'
// 商圈管理新增（POST）
export const API_URL_MARKETINGGROUP_SAVE = '/api/marketingGroup/save'
// 详情
export const API_URL_MARKETINGGROUP_GETINFO = '/api/marketingGroup/getInfo'
// 商圈管理修改（POST）
export const API_URL_MARKETINGGROUP_UPDATE = '/api/marketingGroup/update'
// 商圈管理删除（POST）
export const API_URL_MARKETINGGROUP_REMOVE = '/api/marketingGroup/remove'
// 商圈管理导入商户（POST）
export const API_URL_MARKETINGGROUP_IMPORTGROUPMCH = '/api/marketingGroup/importGroupMch'
// 商圈管理手工导入商户
export const API_URL_MARKETINGGROUP_IMPORTGROUPMCH_LIST = '/api/marketingGroup/importGroupMchList'
// 商圈商户明细
export const API_URL_MARKETINGGROUP_MCHLIST = '/api/marketingGroup/groupMchList'
// 删除商户
export const API_URL_MARKETINGGROUP_MCHREMOVE = '/api/marketingGroup/groupMch/remove'

/* 机构小程序 */
// 查询机构小程序列表
// export const API_URL_AGENT_LITE = '/api/agent/lite'
// 新增OR修改
// export function $agentLiteAddOrEdit(method,data) {
//   return request.request({
//     url: '/api/agent/lite',
//     method,
//     data,
//   })
// }

/**
 * 公众号列表
 */
// 小程序公众号列表 不分页  "type":"" 0公众号，1小程序
export const API_URL_OFFICIAL_LIST = '/api/agent/lite/getList'
// 添加公众号回复消息
// export const API_URL_OFFICIAL_REPLY_SAVE = '/api/officialReply/saveReply'
// 公众号消息回复列表
// export const API_URL_OFFICIAL_REPLY_LIST = '/api/officialReply/getList'
// 单个详情接口
// export const API_URL_OFFICIAL_REPLY_DETAIL = '/api/officialReply/getReplyDetail'
// 修改接口
// export const API_URL_OFFICIAL_REPLY_UPDATE = '/api/officialReply/updateReply'
// 删除消息回复接口
// export const API_URL_OFFICIAL_REPLY_DELETE = '/api/officialReply/removeReply'
// 保存菜单
// export const API_URL_OFFICIAL_MENU_SAVE = '/api/officialMenus/saveMenus'
// 获取菜单配置
// export const API_URL_OFFICIAL_MENU_GET = '/api/officialMenus/getMenus'

/** 素材管理 */
// 素材列表
// export const API_URL_MATERIAL_LIST = '/api/officialReply/getMaterialList'
// 上传素材
// export const API_URL_MATERIAL_UPLOAD = '/api/officialMedia/uploadMedia'
// 删除素材
// export const API_URL_MATERIAL_DELETE = '/api/officialMedia/deleteMaterial'

/* 审批管理 */
// 审批管理列表
export const API_URL_EXAMINE_LIST = '/api/auditRecords/getList'
/* 审批规则设置 */
// 审批规则列表
export const API_URL_EXAMINE_CONFIG = '/api/examineConfig'
// 审批 上传盖章附件接口
export const API_URL_EXAMINE_AUDIT = '/api/auditRecords/audit'
// 新增审批规则
export const API_URL_EXAMINE_CONFIG_SAVE = '/api/examineConfig/save'
// 审批规则修改
export const API_URL_EXAMINE_CONFIG_UPDATE = '/api/examineConfig/update'
// 删除审批规则
export const API_URL_EXAMINE_CONFIG_REMOVE = '/api/examineConfig/remove'
/* 审批记录 */
// 审批记录列表 --> 活动审批流
export const API_URL_EXAMINE_RECORDS = '/api/examineRecords'
// 审批记录审核 --> 活动审批
export const API_URL_EXAMINE_RECORDS_AUDIT = '/api/examineRecords/audit'
// 卡券回执信息填写
export const API_URL_EXAMINE_COUPON_RECEIPT_INFO = '/api/auditRecords/couponReceiptInfo'

/* 福分管理 */
/* 福分商城 */
// 福分商城列表
export const API_SCORE_EXCHANGE = '/api/scoreExchange'
// 福分商城新增
export const API_SCORE_EXCHANGE_SAVE = '/api/scoreExchange/save'
// 福分商城获取兑换记录
export const API_SCORE_EXCHANGE_GETCONSUME = '/api/scoreExchange/getConsumeList'
// 福分商城上下架
export const API_SCORE_EXCHANGE_ISON = '/api/scoreExchange/updateIsFlag'
// 福分商城兑换记录导出
export const API_SCORE_EXCHANGE_EXPORT = '/api/scoreExchange/deriveConsumeExcel'

/* 福分规则 */
// 福分规则key列表
export const API_SCORE_RULE_KEY = '/api/scoreRule/getSysConfig'
// 福分规则管理列表
export const API_SCORE_RULE = '/api/scoreRule'
// 福分规则管理状态变更
export const API_SCORE_RULE_STATE = '/api/scoreRule/updateState'
// 福分规则详情
export const API_SCORE_RULE_DETAIL = '/api/scoreRule/getInfo'
// 福分规则管理新增
export const API_SCORE_RULE_SAVE = '/api/scoreRule/save'
// 福分规则管理修改
export const API_SCORE_RULE_UPDATE = '/api/scoreRule/update'
// 福分兑换记录
export const API_SCORE_EXCHANGE_RECORDS = '/api/scoreExchange/getExchangeList'

/* 用户管理 */
// 用户管理列表
export const API_URL_FANS_LIST = '/api/fans/list'
// 用户绑定客户经理身份
export const API_URL_FANS_CUSTMANAGERBIND = '/api/fans/custManagerBind'
// 用户解绑客户经理身份
export const API_URL_FANS_CUSTMANAGERUNBIND = '/api/fans/custManagerUnBind'
// 解绑商户号
export const API_URL_FANS_UNBIND_MCH = '/api/fans/fansMchDelite'

// 用户管理详情
export const API_URL_FANS_DETAIL = '/api/fans/detail'
// 用户参与活动列表
export const API_URL_FANS_ACTIVITY_LIST = '/api/fans/activityList'
// 用户获奖记录列表
export const API_URL_FANS_AWARD = '/api/fans/fansAndFansAward'
// 用户福分核销记录
export const API_URL_FANS_SCORE = '/api/fans/fansAndScoreConsume'
/* 用户星级 */
// 用户星级列表
export const API_URL_FANS_LEVEL = '/api/fansStarLevel'
// 用户星级新增
export const API_URL_FANS_LEVEL_SAVE = '/api/fansStarLevel/save'
// 用户星级详情
export const API_URL_FANS_LEVEL_DETAIL = '/api/fansStarLevel/getInfo'
// 用户星级修改
export const API_URL_FANS_LEVEL_UPDATE = '/api/fansStarLevel/update'
// 用户星级删除
export const API_URL_FANS_LEVEL_DELETE = '/api/fansStarLevel/remove'
// 实名用户列表 认证商户列表  "flag":"" 1实名 2绑定商户 必传
export const API_URL_FANS_AUTH_MCH_LIST = '/api/fans/fansAuthAndMchList'

// 用户福分列表
export const API_URL_FANS_SCORE_LIST = '/api/fans/recordOfBlessings'
// 用户福分记录明细
export const API_URL_FANS_SCORE_DETAIL = '/api/fans/scoreDetails'

// 查询Banner列表
// export function $listBanner(data) {
//   return request.request({
//     url: '/api/liteBanner/list',
//     method: 'post',
//     data,
//   })
// }

// 上下线Banner
// export function $onOrOffBanner(liteBannerId,state) {
//   return request.request({
//     url: '/api/liteBanner/onOrOffLine',
//     method: 'post',
//     data:{liteBannerId,state}
//   })
// }

// 新增Banner
export function $addBanner(data) {
  return request.request({
    url: '/api/liteBanner/add',
    method: 'post',
    data
  })
}

// 修改Banner
// export function $updateBanner(data) {
//   return request.request({
//     url: '/api/liteBanner/update',
//     method: 'post',
//     data
//   })
// }

// Banner详情
// export function $bannerInfo(liteBannerId) {
//   return request.request({
//     url: '/api/liteBanner/detail',
//     method: 'post',
//     data:{liteBannerId}
//   })
// }

// Banner详情
// export function $deleteBanner(liteBannerId) {
//   return request.request({
//     url: '/api/liteBanner/delBanner',
//     method: 'post',
//     data:{liteBannerId}
//   })
// }

// 商户间联号
export function $mchChannel(data) {
  return request.request({
    url: '/api/mchChannel/list',
    method: 'post',
    data
  })
}

/* 广告位 */
// 广告位列表
export const API_URL_PAYCASHIERAD_LIST = '/api/payCashierAd/list'
// 广告位上下线
export const API_URL_PAYCASHIERAD_ISON = '/api/payCashierAd/isOn'
// 广告位新增
export const API_URL_PAYCASHIERAD_ADD = '/api/payCashierAd/add'
// 广告位详情
export const API_URL_PAYCASHIERAD_DETAIL = '/api/payCashierAd/detail'
// 广告位更新
export const API_URL_PAYCASHIERAD_UPDATE = '/api/payCashierAd/update'

/** 定时任务 */
// 定时任务列表
export const API_URL_MONITOR_JOB_LIST = '/api/monitor/job/list'
// 新增定时任务
export const API_URL_MONITOR_JOB_ADD = '/api/monitor/job/add'
// 删除定时任务
export const API_URL_MONITOR_JOB_REMOVE = '/api/monitor/job/remove'
// 修改定时任务
export const API_URL_MONITOR_JOB_EDIT = '/api/monitor/job/edit'
// 定时任务详情
export const API_URL_MONITOR_JOB_DETAIL = '/api/monitor/job/getDetail'
// 定时任务更改状态
export const API_URL_MONITOR_JOB_STATUS = '/api/monitor/job/changeStatus'
// 定时任务立即执行一次
export const API_URL_MONITOR_JOB_RUN = '/api/monitor/job/run'
// 定时任务日志列表
export const API_URL_MONITOR_JOB_LOG_LIST = '/api/monitor/jobLog/list'
// 定时任务日志详情
export const API_URL_MONITOR_JOB_LOG_DETAIL = '/api/monitor/jobLog/getDetail'
// 定时任务日志删除
export const API_URL_MONITOR_JOB_LOG_REMOVE = '/api/monitor/jobLog/remove'
// 定时任务清空
export const API_URL_MONITOR_JOB_LOG_CLEAN = '/api/monitor/jobLog/clean'

// 活动奖品导出
export const API_URL_EXPORT_ACTIVITY_AWARD = '/api/exportExcel/exportActivityAward'
// 小程序实名用户导出
export const API_URL_EXPORT_FANS_AUTH = '/api/exportExcel/exportFansAuth'
// 查询二维码列表
export const API_URL_QR_CODE = '/api/qrcodeRecord/getAllRecordByActivityId'
// 生产二维码文件上传
export const API_URL_QRCODERECORD_BATCHCREATEQRCODE = '/api/qrcodeRecord/batchCreateQrCode'
// 删除二维码商户
export const API_URL_QRCODERECORD_DELETEQRCODE = '/api/qrcodeRecord/deleteQrCode'
// 供应商列表查询
export const API_URL_VIRTUAGOODS_SUPPLIER = '/api/virtualGoods/supplier'
// 供应商新增
export const API_URL_VIRTUAGOODS_SUPPLIER_ADD = '/api/virtualGoods/supplier/add'
// 供应商编辑
export const API_URL_VIRTUAGOODS_SUPPLIER_UPDATE = '/api/virtualGoods/supplier/update'
// 外表列表查询
export const API_URL_VIRTUAGOODS_INSIDE = '/api/virtualGoods/inside'
// 外表列表修改
export const API_URL_VIRTUAGOODS_INSIDE_UPDATE = '/api/virtualGoods/inside/update'
// CDK列表查询
export const API_URL_VIRTUAGOODS_CDK = '/api/virtualAward/cdk'
// 根据机构号获取商品
export const API_URL_VIRTUAGOODS_GOODS = '/api/virtualGoods/inside/getListByAgentNo'
// CDK列表导入
export const API_URL_VIRTUALAWARD_CKD = '/api/virtualAward/cdk/importCdk'

export function $getVirtualGoodsGoods(agentNo:any){
  return request.request({
    url: API_URL_VIRTUAGOODS_GOODS+'?agentNo='+agentNo,
    method: 'get',
   
  })
}  

export function $getSupplierList(state:any){
  return request.request({
    url: API_URL_VIRTUAGOODS_SUPPLIER+'?pageNumber=1&pageSize=999&state='+state,
    method: 'get',
  })
}  
// 同步商品
export function $syncGoods(data:any){
  return request.request({
    url: '/api/virtualGoods/supplier/getGoodsList',
    method: 'post',
    data
  })
}
// 外部商品列表
export const API_URL_VIRTUAL_GOODS_OUTSIDE = '/api/virtual/goods/outside'
// 外部商品保存
export const API_URL_VIRTUAL_GOODS_OUTSIDE_SAVE = '/api/virtual/goods/outside/outToInsideGoods'
// 同步商品详情
export function $outDetail(data:any){
  return request.request({
    url: '/api/virtual/goods/outside/goodsSubscribe',
    method: 'post',
    data
  })
}

// 取消订阅
export function $cancelSubscribe(data:any){
  return request.request({
    url: '/api/virtual/goods/outside/goodsSubscribe',
    method: 'post',
    data
  })
}

// 选择权益商城的商品
export function $selectGoods(data:any){
  return request.request({
    url: '/api/equity/selectEquityName',
    method: 'post',
    data
  })
}
// 内部商品划拨
export function $transferGoods(insideGoodsId:any){
  return request.request({
    url: '/api/virtualGoods/inside/getCdkDetail'+'?insideGoodsId='+insideGoodsId,
    method: 'get',
  })
}
// 获取三级机构列表
export function $getAgentList(agentNo:any){
  return request.request({
    url: '/api/mchInfo/getSubAgentById'+'?agentNo='+agentNo,
    method: 'get',
  })
}
// 划拨保存接口
export const API_URL_VIRTUALGOODS_INSIDE_SAVE = '/api/virtualGoods/inside/saveCdkNum'
// 修改供应商状态
export const API_URL_VIRTUALGOODS_SUPPLIER_UPDATESTATE = '/api/virtualGoods/supplier/updateState'


// 用户管理注销或者恢复
export const API_URL_FANS_DELFANUSER = '/api/fans/delFanUser'
// 黑名单规则列表
export const API_URL_BLACKLISTRULE = '/api/blacklistRule/list'
// 黑名单规则新增
export const API_URL_BLACKLISTRULE_ADD = '/api/blacklistRule/add'
// 黑名单规则查询详情
export const API_URL_BLACKLISTRULE_DETAIL = '/api/blacklistRule/details'
// 修改黑名单规则
export const API_URL_BLACKLISTRULE_UPDATE = '/api/blacklistRule/update'
// 黑名单规则删除
export const API_URL_BLACKLISTRULE_REMOVE = '/api/blacklistRule/delete'
// 获取所以规则名称接口
export const API_URL_BLACKLISTRULE_GETALLRULE = '/api/blacklistRule/allList'
// 获取黑名单列表
export const API_URL_BLACKLIST = '/api/blacklist/list'
// 删除黑名单
export const API_URL_BLACKLIST_REMOVE = '/api/blacklist/delete'
// 黑名单导出
export const API_URL_EXPORT_BLACKLIST = '/api/blacklist/export'
// 黑名单导入
export const API_URL_IMPORT_BLACKLIST = '/api/blacklist/import'

/* 机构列表 */
export function $queryOrgTree(agentNo) {
  return request.request({
    url: '/api/subList/queryOrgTree',
    method: 'get',
    params: {agentNo}
  })
}

// 新增或修改活动奖品
// 新增奖品分配给机构 新增(POST) 修改(PUT) 删除(DELETE)
export function $activityAwardAgentAddOrEdit(method,data) {
  return request.request({
    url: '/api/activity/award/agent',
    method,
    data,
  })
}


// 导出zip流文件
export function $exportZip (url, params, method = 'GET') {
  return request.exportZip(url, params, method)
}